package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.Role;


import java.util.List;
import java.util.Map;
import java.util.Map;
import java.util.Set;

public interface RoleDao {
    //根据用户id查询用户拥有的权限
    public Set<Role> findRoleByUserId(int userId);

    List<Role> findAll();

    //分页查询所有角色
    Page<Role> selectByCondition(String queryString);

    //添加角色
    void addRole(Role role);

    //关联角色表和权限表
    void setRoleAndPer(Map<String, Integer> map);

    //关联菜单和角色表
    void addMenuAndRole(Map<String, Integer> map);

    //根据角色id查询角色信息
    Role findById(Integer roleId);

    //根据角色id查询对应的权限id
    Integer[] findPerIdByRoleId(Integer roleId);

    //根据角色id查询对应的菜单id
    Integer[] findMenuIdByRoleId(Integer roleId);

    //修改角色表单数据
    void editFormData(Role role);

    //删除当前角色和权限关联的内容
    void deleteAssociatedInfo(Integer role_id);

    //删除当前角色和菜单关联的内容
    void deleteAssociatedRoleAndMenu(Integer role_id);

    //关联菜单和角色表
    void setRoleAndMenu(Map<String, Integer> map);

    //删除角色
    void deleteRoleById(Integer role_id);
}
